home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 15
/
Aminet 15 - Nov 1996.iso
/
Aminet
/
text
/
dtp
/
PicCatalog203.lha
/
PicCatalog203.rexx
< prev
Wrap
OS/2 REXX Batch file
|
1996-09-25
|
20KB
|
636 lines
/*--------------------------------------*/
/* $VER: PicCatalog V2.03 (25 Sep 1996) */
/* ©1996 Michael Merkel */
/*--------------------------------------*/
/*
how to use this:
----------------
1. open a new document
2. start this script
3. select a picture directory
4. press "make"
comments to this program to:
----------------------------
mmerkel@rummelplatz.uni-mannheim.de
Regards...
Michael Merkel
*/
OPTIONS RESULTS
/* Make sure rexx support is opened */
IF ~SHOW('L','rexxsupport.library') THEN
CALL ADDLIB('rexxsupport.library',0,-30)
IF ~SHOW('L','softlogik:libs/slarexxsupport.library') THEN
CALL ADDLIB('softlogik:libs/slarexxsupport.library',0,-30)
ADDRESS 'PAGESTREAM'
/* defaults */
'GETPAGEMASTERPAGE MASTERPAGE mname'
if (RC = 10) then call DOERRORREQUESTER
'GETDIMENSIONS dim MASTERPAGE "'mname'"'
if (dim.orientation = 'PORTRAIT') then do
rpagesizex = dim.width
rpagesizey = dim.height
end
else do
rpagesizex = dim.height
rpagesizey = dim.width
end
measure = 'pt'
tf.0 = 'FALSE'
tf.1 = 'TRUE'
call ReadPrefs
/* get user choices */
call DOREQUESTER
if (ergebnis = cancelhandler) then EXIT
call WritePrefs
/* transform to same measurement system */
pagesizex = p2d(rpagesizex,measure)
pagesizey = p2d(rpagesizey,measure)
leftgap = p2d(rleftgap,measure)
topgap = p2d(rtopgap,measure)
rightgap = p2d(rrightgap,measure)
bottomgap = p2d(rbottomgap,measure)
gap = p2d(rgap,measure)
txtsize = p2d(rtxtsize,measure)
psx = (pagesizex-leftgap-rightgap-(numx-1)*gap) / numx
psy = (pagesizey-topgap-bottomgap-(numy-1)*gap-numy*txtsize) / numy
psf = psx / psy
anzp = numx * numy
if (Open('dump','T:PicCatalog.dumpfile','W') = 1) then do
wl=WriteLN('dump','DUMPFILE for PicCatalog V2.03 - ©1996 Michael Merkel')
cl=Close('dump')
end
num = 0
/* draw border for first page */
call DrawPageBorder
'OPENBUSYREQUESTER MESSAGE "getting pictures ..." THERMOMETER DISABLED ABORT ENABLED'
BusyReq=result
'REFRESH OFF'
dummy = RekDir(pdir)
if ((num // anzp) ~= 0) then do
call DrawPageBorder
if (print = 1) then do
'REFRESH ON'
'REFRESHWINDOW'
call PrintPage
end
end
else do
'SELECTOBJECT ALL'
'DELETEOBJECT'
'DISPLAY PAGE PREVIOUS'
end
call CLEANUP
AddPicture:
ARG name
call DumpText('('||num||') '||name||' -> ',0)
/* bitmappictures! */
pictype = 1
CALL getbusy(name)
/* this prevents ARexx to show error messages (RC=10) if pictype is wrong */
OPTIONS FAILAT 11
RC = 1
if (liff = 1) then
if (RC ~= 0) then 'PLACEGRAPHIC FILE "'name'" FILTER "IFFILBM" PROGRESS'
if (lgif = 1) then
if (RC ~= 0) then 'PLACEGRAPHIC FILE "'name'" FILTER "GIF" PROGRESS'
if (ljpeg = 1) then
if (RC ~= 0) then 'PLACEGRAPHIC FILE "'name'" FILTER "JPEG" PROGRESS'
if (RC ~= 0) then do
/* drawings! */
pictype = 2
if (leps = 1) then
if (RC ~= 0) then 'PLACEGRAPHIC FILE "'name'" FILTER "ILLUSTRATOREPS" PROGRESS'
if (ldr2d = 1) then
if (RC ~= 0) then 'PLACEGRAPHIC FILE "'name'" FILTER "IFFDR2D" PROGRESS'
if (laeeps = 1) then
if (RC ~= 0) then 'PLACEGRAPHIC FILE "'name'" FILTER "ARTEXPRESSIONEPS" PROGRESS'
end
OPTIONS FAILAT 10
if (RC = 0) then do
if (pictype = 1) then 'GETPICTURE POSITION 'posi
else 'GETDRAWING POSITION 'posi
picid = RESULT
width = p2d(posi.right,measure) - p2d(posi.left,measure)
height = p2d(posi.bottom,measure) - p2d(posi.top,measure)
gsf = width / height
if (gsf > psf) then factor = psx / width
else factor = psy / height
newwidth = factor * width
newheight = factor * height
centerdeltax = (psx - newwidth) / 2
centerdeltay = (psy - newheight) / 2
newl = leftgap + (num // numx) * (psx+gap) + centerdeltax
newt = topgap + ((num // anzp) % numx) * (psy+gap+txtsize) + centerdeltay
newr = newl + newwidth
newb = newt + newheight
d1 = leftgap + (num // numx) * (psx+gap)
d2 = topgap + ((num // anzp) % numx) * (psy+gap+txtsize)
d3 = d1 + psx
d4 = d2 + psy
'DRAWBOX 'd1||measure d2||measure d3||measure d4||measure
'SETSTROKEWEIGHT 2pt'
if (pictype = 1) then 'EDITPICTURE POSITION 'newl||measure newt||measure newr||measure newb||measure' stored "EXTERNAL" OBJECTID 'picid
else 'EDITDRAWING POSITION 'newl||measure newt||measure newr||measure newb||measure' stored "EXTERNAL" OBJECTID 'picid
if (txtsize > 0) then do
'DRAWTEXTOBJ 'd1||measure' 'd4||measure' INFRONT'
txtid = RESULT
'SELECTTEXT AT 'd1||measure' 'd4||measure' FRONTMOST'
'SETTYPESIZE 'txtsize
'SETPARAGRAPHSTYLE "PicName"'
if (prname = 0) then 'INSERT "'name'"'
else do
name2 = reverse(name)
pos = pos('/',name2)
if (pos = 0) then pos = pos(':',name2)
name3 = right(name,pos-1)
'INSERT "'name3'"'
end
'GETTEXTOBJ POSITION txtpos OBJECTID 'txtid
txtp2.left = p2d(txtpos.left,measure)
txtp2.top = p2d(txtpos.top,measure)
txtp2.bottom = p2d(txtpos.bottom,measure)
txtp2.right = p2d(txtpos.right,measure)
txtwidth = txtp2.right - txtp2.left
if (txtwidth > psx) then 'EDITTEXTOBJ POSITION 'txtp2.left||measure' 'txtp2.top||measure' 'd3||measure' 'txtp2.bottom||measure' OBJECTID 'txtid
end
CALL DumpText('....created',1)
num = num + 1
if ((num // anzp) == 0) then do /* letztes Bild auf Seite bearbeitet */
'REFRESH ON'
'REFRESHWINDOW'
if (print = 1) then call PrintPage
else do
'DISPLAY PAGE NEXT'
end
call DrawPageBorder
'REFRESH OFF'
end
end
else call DumpText('....NOT created',1)
RETURN
DOREQUESTER:
filehandler = 0
ergebnis = filehandler
do until ((ergebnis = okhandler) | (ergebnis = cancelhandler))
'ALLOCAREXXREQUESTER "PicCatalog V2.03 - ©1996 Michael Merkel" 350 280'
reqhandle = RESULT
'ADDAREXXGADGET 'reqhandle' EXIT 10 260 70 LABEL "_Make"'
okhandler = RESULT
'ADDAREXXGADGET 'reqhandle' EXIT 270 260 70 LABEL "_Cancel"'
cancelhandler = RESULT
'ADDAREXXGADGET 'reqhandle' EXIT 115 260 120 LABEL "_Print Settings"'
pprefshandler = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 215 5 55 STRING "'numx'" LABEL "# of pictures horizontal:"'
numx_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 215 20 55 STRING "'numy'" LABEL "# of pictures vertical: "'
numy_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 95 40 70 STRING "'rleftgap'" LABEL "left gap: "'
rleftgap_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 95 55 70 STRING "'rrightgap'" LABEL "right gap:"'
rrightgap_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 270 40 70 STRING "'rtopgap'" LABEL "top gap: "'
rtopgap_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 270 55 70 STRING "'rbottomgap'" LABEL "bottom gap:"'
rbottomgap_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 183 80 50 STRING "'rgap'" LABEL "gap between pictures:"'
rgap_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' STRING 183 100 50 STRING "'rtxtsize'" LABEL "textsize (0 = none): "'
rtxtsize_gadget = RESULT
'ALLOCAREXXLIST'
rexxlist = RESULT
'ADDAREXXLIST 'rexxlist' "full path"'
'ADDAREXXLIST 'rexxlist' "name only"'
'ADDAREXXGADGET 'reqhandle' CYCLE 240 100 100'
prname_gadget = RESULT
'SETAREXXGADGET 'reqhandle' 'prname_gadget' LIST 'rexxlist' CURRENT 'prname
'ADDAREXXGADGET 'reqhandle' STRING 10 130 300 STRING "'pdir'" LABEL "picture path:" LABELPOS "ABOVELEFT"'
pdir_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' EXIT 315 130 10 LABEL "?"'
filehandler = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 10 150 10 CHECKED "'tf.lreku'" LABEL "do directories recursive"'
lreku_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 10 180 10 CHECKED "'tf.liff'" LABEL "load IFF"'
liff_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 110 180 10 CHECKED "'tf.lgif'" LABEL "load GIF"'
lgif_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 210 180 10 CHECKED "'tf.ljpeg'" LABEL "load JPEG"'
ljpeg_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 10 200 10 CHECKED "'tf.ldr2d'" LABEL "load DR2D"'
ldr2d_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 110 200 10 CHECKED "'tf.leps'" LABEL "load EPS"'
leps_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 210 200 10 CHECKED "'tf.laeeps'" LABEL "load AEEPS"'
laeeps_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' CHECKBOX 10 230 10 CHECKED "'tf.print'" LABEL "print every single page"'
print_gadget = RESULT
'ADDAREXXGADGET 'reqhandle' TEXT 30 240 240 STRING "(instead of collecting them)"'
'DOAREXXREQUESTER 'reqhandle
ergebnis = RESULT
'GETAREXXGADGET 'reqhandle' 'numx_gadget' STRING'
numx = RESULT
'GETAREXXGADGET 'reqhandle' 'numy_gadget' STRING'
numy = RESULT
'GETAREXXGADGET 'reqhandle' 'rleftgap_gadget' STRING'
rleftgap = RESULT
'GETAREXXGADGET 'reqhandle' 'rtopgap_gadget' STRING'
rtopgap = RESULT
'GETAREXXGADGET 'reqhandle' 'rrightgap_gadget' STRING'
rrightgap = RESULT
'GETAREXXGADGET 'reqhandle' 'rbottomgap_gadget' STRING'
rbottomgap = RESULT
'GETAREXXGADGET 'reqhandle' 'rgap_gadget' STRING'
rgap = RESULT
'GETAREXXGADGET 'reqhandle' 'rtxtsize_gadget' STRING'
rtxtsize = RESULT
'GETAREXXGADGET 'reqhandle' 'prname_gadget' CURRENT'
prname = RESULT
'GETAREXXGADGET 'reqhandle' 'pdir_gadget' STRING'
pdir = RESULT
'GETAREXXGADGET 'reqhandle' 'lreku_gadget' CHECKED'
lreku = RESULT
'GETAREXXGADGET 'reqhandle' 'liff_gadget' CHECKED'
liff = RESULT
'GETAREXXGADGET 'reqhandle' 'lgif_gadget' CHECKED'
lgif = RESULT
'GETAREXXGADGET 'reqhandle' 'ljpeg_gadget' CHECKED'
ljpeg = RESULT
'GETAREXXGADGET 'reqhandle' 'ldr2d_gadget' CHECKED'
ldr2d = RESULT
'GETAREXXGADGET 'reqhandle' 'leps_gadget' CHECKED'
leps = RESULT
'GETAREXXGADGET 'reqhandle' 'laeeps_gadget' CHECKED'
laeeps = RESULT
'GETAREXXGADGET 'reqhandle' 'print_gadget' CHECKED'
print = RESULT
'FREAREXXLIST 'rexxlist
'FREEAREXXREQUESTER 'reqhandle
if (ergebnis = filehandler) then do
'GETFILEPATH TITLE "please choose the picture path" PATH "'pdir'"'
if (RC=0) then pdir = result
end
if (ergebnis = pprefshandler) then call PrintSettings
end
if (right(pdir,1) ~= ':') then
if (right(pdir,1) ~= '/') then pdir = pdir||'/'
RETURN
DOERRORREQUESTER:
'ALLOCAREXXREQUESTER "Error!" 300 50'
reqhandle = RESULT
'ADDAREXXGADGET 'reqhandle' EXIT 115 30 70 LABEL "_Ok"'
dummy = RESULT
'ADDAREXXGADGET 'reqhandle' TEXT 10 10 280 STRING "Please open a new document first!"'
'DOAREXXREQUESTER 'reqhandle
dummy = RESULT
'FREEAREXXREQUESTER 'reqhandle
exit
RETURN
GETBUSY:
ARG messname
if (length(messname) > 27)
then mess = '...'||right(messname,25)
else mess = messname
'SETBUSYREQUESTER 'BusyReq' MESSAGE "'mess'"'
'GETBUSYREQUESTER 'BusyReq
if (result=1) then do
if ((num // anzp) = 0) then do
'SELECTOBJECT ALL'
'DELETEOBJECT'
'DISPLAY PAGE PREVIOUS'
end
call CLEANUP
end
RETURN
CLEANUP:
'CLOSEBUSYREQUESTER 'BusyReq
cl = Close('flist')
cl = Close('dlist')
ADDRESS COMMAND 'C:Delete T:PicCatalog#?.tmp QUIET'
'REFRESH ON'
'REFRESHWINDOW'
EXIT
ReadPrefs:
ok = Open('Prefs','PageStream3:Scripts/PicCatalog.prefs','R')
if (ok = 1) then do
say 'reading old prefs...'
pdir = ReadLN('Prefs')
lreku = ReadLN('Prefs')
rleftgap = ReadLN('Prefs')
rtopgap = ReadLN('Prefs')
rrightgap = ReadLN('Prefs')
rbottomgap = ReadLN('Prefs')
rgap = ReadLN('Prefs')
numx = ReadLN('Prefs')
numy = ReadLN('Prefs')
rtxtsize = ReadLN('Prefs')
prname = ReadLN('Prefs')
liff = ReadLN('Prefs')
lgif = ReadLN('Prefs')
ljpeg = ReadLN('Prefs')
ldr2d = ReadLN('Prefs')
leps = ReadLN('Prefs')
laeeps = ReadLN('Prefs')
print = ReadLN('Prefs')
prmethod = ReadLN('Prefs')
prscale = ReadLN('Prefs')
cl = Close('Prefs')
end
else do
say 'unable to read prefs -> default values'
pdir = '!PLEASE TELL ME THE PICTURE PATH!'
lreku = 1
rleftgap = '1cm'
rtopgap = '1cm'
rrightgap = '1cm'
rbottomgap = '1cm'
rgap = '5mm'
numx = 3
numy = 4
rtxtsize = '10pt'
prname = 0
liff = 1
lgif = 1
ljpeg = 1
ldr2d = 1
leps = 1
laeeps = 1
print = 0
prmethod = 0
prscale = 0
end
RETURN
WritePrefs:
ok = Open('Prefs','PageStream3:Scripts/PicCatalog.prefs','W')
if (ok = 1) then do
say 'writing prefs...'
WriteLN('Prefs',pdir)
WriteLN('Prefs',lreku)
WriteLN('Prefs',rleftgap)
WriteLN('Prefs',rtopgap)
WriteLN('Prefs',rrightgap)
WriteLN('Prefs',rbottomgap)
WriteLN('Prefs',rgap)
WriteLN('Prefs',numx)
WriteLN('Prefs',numy)
WriteLN('Prefs',rtxtsize)
WriteLN('Prefs',prname)
WriteLN('Prefs',liff)
WriteLN('Prefs',lgif)
WriteLN('Prefs',ljpeg)
WriteLN('Prefs',ldr2d)
WriteLN('Prefs',leps)
WriteLN('Prefs',laeeps)
WriteLN('Prefs',print)
WriteLN('Prefs',prmethod)
WriteLN('Prefs',prscale)
cl = Close('Prefs')
end
else do
say 'error writing prefs file "PicCatalog.prefs"'
end
RETURN
DrawPageBorder:
d1 = leftgap - 5
d2 = topgap - 5
d3 = pagesizex-rightgap + 5
d4 = pagesizey-bottomgap + 5
'DRAWBOX 'd1||measure d2||measure d3||measure d4||measure
'SETSTROKEWEIGHT 5pt'
d4 = d4 + 2
'DRAWTEXTOBJ 'd1||measure' 'd4||measure' INFRONT'
txtid = RESULT
'SELECTTEXT AT 'd1||measure' 'd4||measure' FRONTMOST'
bottomtxtsize = 12
bottompnum = (num % anzp) + 1
bottomtwidth = d3 - d1
'SETTYPESIZE "'bottomtxtsize||measure'"'
'INSERT "PicCatalog V2.03 - ©1996 Michael Merkel"'
'SETTABRULER "RIGHT" 'bottomtwidth||measure
'INSERTCONTROL TAB'
'INSERT "Page 'bottompnum'"'
RETURN
RekDir:
PROCEDURE EXPOSE measure num numx numy anzp leftgap topgap rightgap pagesizex bottomgap pagesizey liff lgif ljpeg leps ldr2d laeeps psf psx psy gap txtsize lreku BusyReq print prname prmethod prscale
ARG dir
ADDRESS COMMAND 'C:list dir="'||dir||'" LFORMAT="%F%N" FILES >T:PicCatalogFilesUS.tmp'
if (GetLength('T:PicCatalogFilesUS.tmp') = 0)
then ADDRESS COMMAND 'C:Copy T:PicCatalogFilesUS.tmp TO T:PicCatalogFilesS.tmp'
else do
ADDRESS COMMAND 'C:Sort FROM T:PicCatalogFilesUS.tmp TO T:PicCatalogFilesS.tmp'
call WorkFileList
end
ADDRESS COMMAND 'C:Delete T:PicCatalogFilesUS.tmp T:PicCatalogFilesS.tmp QUIET'
if (lreku = 1) then do
ADDRESS COMMAND 'C:List dir="'||dir||'" LFORMAT="%F%N" DIRS >T:PicCatalogDirsUS.tmp'
if (GetLength('T:PicCatalogDirsUS.tmp') = 0)
then ADDRESS COMMAND 'C:Copy T:PicCatalogDirsUS.tmp TO T:PicCatalogDirsS.tmp'
else do
ADDRESS COMMAND 'C:Sort FROM T:PicCatalogDirsUS.tmp TO T:PicCatalogDirsS.tmp'
call WorkDirList
end
end
RETURN 0
WorkFileList:
PROCEDURE EXPOSE measure num numx numy anzp leftgap topgap rightgap pagesizex bottomgap pagesizey liff lgif ljpeg leps ldr2d laeeps psf psx psy gap txtsize lreku BusyReq print prname prmethod prscale
fnum = 0
if (Open('flist','t:PicCatalogFilesS.tmp','R') ~= 1) then do
say 'Fehler beim Öffnen des File-TmpFiles!!!'
exit
end
do while (eof('flist') = 0)
named = readln('flist')
if (eof('flist') = 0) then do
name.fnum = named
fnum = fnum + 1
end
end
cl = Close('flist')
do k = 0 to fnum-1
CALL AddPicture(name.k)
end
RETURN
WorkDirList:
PROCEDURE EXPOSE measure num numx numy anzp leftgap topgap rightgap pagesizex bottomgap pagesizey liff lgif ljpeg leps ldr2d laeeps psf psx psy gap txtsize lreku BusyReq print prname prmethod prscale
ad = 0
if(Open('dlist','t:PicCatalogDirsS.tmp','R') ~= 1) then do
say 'Fehler beim Öffnen des DIR-TmpFiles!!!'
exit
end
do while (eof('dlist') = 0)
name = readln('dlist')
if (eof('dlist') = 0) then do
dirname.ad = name
ad = ad + 1
end
end
cl = Close('dlist')
ADDRESS COMMAND 'C:Delete T:PicCatalogDirsUS.tmp T:PicCatalogDirsS.tmp QUIET'
do k = 0 to ad-1
call RekDir(dirname.k)
end
RETURN
GetLength:
PROCEDURE EXPOSE BusyReq
ARG filename
ADDRESS COMMAND 'C:List 'filename' LFORMAT="%l" >T:PicCatalogLength.tmp'
if (Open('flength','T:PicCatalogLength.tmp','R') = 1) then do
l = ReadLN('flength')
cl = Close('flength')
ADDRESS COMMAND 'C:Delete QUIET T:PicCatalogLength.tmp'
if (compare(l,'empty') = 0)
then return 0
else return l
end
else return 0
RETURN ll
DumpText:
ARG dumptxt,dumpmode
if (Open('dump','T:PicCatalog.dumpfile','A') = 1) then do
if dumpmode = 0 then wl = WriteCH('dump',dumptxt)
else wl = WriteLN('dump',dumptxt)
cl = Close('dump')
end
RETURN
PrintPage:
output.0 = 'GRAYSCALE'
output.1 = 'COLOR'
if (Open('dump','T:PicCatalog.dumpfile','A') = 1) then do
WriteLN('dump','printing page')
cl = Close('dump')
end
if (prscale = 0) then do
'PRINTDOCUMENT PAGE "" OUTPUT 'output.prmethod' SCALE "ACTUAL"'
end
if (prscale = 1) then do
'PRINTDOCUMENT PAGE "" OUTPUT 'output.prmethod' SCALE "FULLPAGE"'
end
'SELECTOBJECT ALL'
'DELETEOBJECT'
RETURN
PrintSettings:
'ALLOCAREXXREQUESTER "Please set the settings for printing ..." 230 80'
reqhandle2 = RESULT
'ADDAREXXGADGET 'reqhandle2' EXIT 10 60 70 LABEL "_Ok"'
okhandler2 = RESULT
'ADDAREXXGADGET 'reqhandle2' EXIT 150 60 70 LABEL "_Cancel"'
cancelhandler2 = RESULT
'ALLOCAREXXLIST'
rexxlist2 = RESULT
'ADDAREXXLIST 'rexxlist2' "Grayscale"'
'ADDAREXXLIST 'rexxlist2' "Color"'
'ADDAREXXGADGET 'reqhandle2' CYCLE 75 10 100 LABEL "Method:"'
prmethod_gadget = RESULT
'SETAREXXGADGET 'reqhandle2' 'prmethod_gadget' LIST 'rexxlist2' CURRENT 'prmethod
'ALLOCAREXXLIST'
rexxlist3 = RESULT
'ADDAREXXLIST 'rexxlist3' "Actual Size"'
'ADDAREXXLIST 'rexxlist3' "Scale To Fit"'
'ADDAREXXGADGET 'reqhandle2' CYCLE 75 30 130 LABEL "Scale:"'
prscale_gadget = RESULT
'SETAREXXGADGET 'reqhandle2' 'prscale_gadget' LIST 'rexxlist3' CURRENT 'prscale
'DOAREXXREQUESTER 'reqhandle2
ergebnis2 = RESULT
'GETAREXXGADGET 'reqhandle2' 'prmethod_gadget' CURRENT'
prmethod_tmp = RESULT
'GETAREXXGADGET 'reqhandle2' 'prscale_gadget' CURRENT'
prscale_tmp = RESULT
'FREAREXXLIST 'rexxlist2
'FREAREXXLIST 'rexxlist3
'FREEAREXXREQUESTER 'reqhandle2
if (ergebnis2 = okhandler) then do
prmethod = prmethod_tmp
prscale = prscale_tmp
end
RETURN